Beyond code coverage - An approach for test suite assessment and improvement
نویسندگان
چکیده
Code coverage is successfully used to guide white box test design and evaluate the respective test completeness. However, simple overall coverage ratios are often not precise enough to effectively help when a (regression) test suite needs to be reassessed and evolved after software change. We present an approach for test suite assessment and improvement that utilizes code coverage information, but on a more detailed level and adds further evaluation aspects derived from the coverage. The main use of the method is to aid various test suite evolution situations such as removal, refactoring and extension of test cases as a result of code change or test suite efficiency enhancement. We define various metrics to express different properties of test suites beyond simple code coverage ratios, and present the assessment and improvement process as an iterative application of different improvement goals and more specific sub-activities. The method is demonstrated by applying it to improve the tests of one of our experimental systems. Keywords—code coverage, regression testing, test suite quality, test suite refactoring, test suite evolution, white box testing metrics
منابع مشابه
State Coverage: Software validation metrics beyond Code Coverage - Extended Version
Currently, testing is still the most important approach to reduce the amount of software defects. Software quality metrics help to prioritize where additional testing is necessary by measuring the quality of the code. Most approaches to estimate whether some unit of code is sufficiently tested are based on code coverage, which measures what code fragments are exercised by the test suite. Unfort...
متن کاملState Coverage: Software Validation Metrics beyond Code Coverage
Currently, testing is still the most important approach to reduce the amount of software defects. Software quality metrics help to prioritize where additional testing is necessary by measuring the quality of the code. Most approaches to estimate whether some unit of code is sufficiently tested are based on code coverage, which measures what code fragments are exercised by the test suite. Unfort...
متن کاملTest suite evaluation using code coverage based metrics
Regression test suites of evolving software systems are often crucial to maintaining software quality in the long term. They have to be effective in terms of detecting faults and helping their localization. However, to gain knowledge of such capabilities of test suites is usually difficult. We propose a method for deeper understanding of a test suite and its relation to the program code it is i...
متن کاملTracing Execution of Software for Design Coverage
Test suites are designed to validate the operation of a system against requirements. One important aspect of a test suite design is to ensure that system operation logic is tested completely. A test suite should drive a system through all abstract states to exercise all possible cases of its operation. This is a difficult task. Code coverage tools support test suite designers by providing the i...
متن کاملA Hybrid Approach for Test Case Generation
Today, Software testing is an essential part of successful software development process. The input executes the program and produces the expected output. The outcome of the software product depends on software testing. Manual testing is difficult to produce expected output. The manual testing takes long time to test. The major problem in manual testing is code coverage is not done at regular in...
متن کامل